$(function(){
	//1. 全选按钮:checkall 三个小按钮:j-checkbox
	$(".checkall").change(function(){
		//console.log($(this).prop("checked"));
	 $(".j-checkbox, .checkall").prop("checked", $(this).prop("checked"));
	 //给选中的商品添加背景颜色
	    if($(this).prop("checked")){
		  $(".cart-item").addClass("check-cart-item");
	    }else{
			$(".cart-item").removeClass("check-cart-item");
		};
	});
	
	//2. 三个小按钮全部选上，两个全选按钮也自动选上
	$(".j-checkbox").change(function(){
		//如果.j-checkbox选中的个数等于.j-checkbox的长度，全选按钮就选上
		if($(".j-checkbox:checked").length == $(".j-checkbox").length){
			$(".checkall").prop('checked', true);
		}else{
			$(".checkall").prop('checked', false);
		}
		//单个商品复选框被选中也添加背景
		if($(this).prop("checked")){
		  $(this).parents(".cart-item").addClass("check-cart-item");
		}else{
		  $(this).parents(".cart-item").removeClass("check-cart-item");
		};
	});
	
	//3. 增减购买商品数量 先声明一个变量，点击+号(increment),就让值++，给文本框
	//加商品数量
	$(".increment").click(function(){
		var n = $(this).siblings(".itxt").val();
		if(n == 5){
			alert("最多购买5减商品");
			return false;
		}
		n++;
		//将n值再重新返回给当前的文本框
		$(this).siblings(".itxt").val(n);
		//改变商品小计
		var p = $(this).parents(".p-num").siblings(".p-price").html();
		//截取￥
		p = p.substr(1);
		var sum = (p * n).toFixed(2);
		$(this).parents(".p-num").siblings(".p-sum").html("￥"+ sum);
		getSum();
	});
	//减商品数量
	$(".decrement").click(function(){
		var n = $(this).siblings(".itxt").val();
		//当n==1就return false返回，不在执行下面的代码
		if(n == 1){
			return false;
		}
		n--;
		//给当前的文本框
		$(this).siblings(".itxt").val(n);
		//改变商品小计
		var p = $(this).parents(".p-num").siblings(".p-price").html();
		//截取￥
		p = p.substr(1);
		var sum = (p * n).toFixed(2);
		$(this).parents(".p-num").siblings(".p-sum").html("￥"+ sum);
		getSum();
	});
	
	//4. 修复bug 用户直接输入购买商品数量，小计会不变，所以要修复
	$('.itxt').change(function(){
		var n = $(this).val();
		var p = $(this).parents(".p-num").siblings(".p-price").html();
		//截取￥
		p = p.substr(1);
		var sum = (p * n).toFixed(2);
		$(this).parents(".p-num").siblings(".p-sum").html("￥"+ sum);
		getSum();
	});
	
	//5. 计算总件数和商品金额总额 封装函数
	getSum();
	function getSum(){
		var count = 0; //商品总件数
	    var money = 0; // 商品金额总额
		$(".itxt").each(function(index, ele){
			count += parseInt($(ele).val());
		});
		$(".amount-sum em").text(count);
		//金额
		$(".p-sum").each(function(index, ele){
			money += parseFloat($(ele).text().substr(1));
		});
		$(".price-sum em").text("￥"+ money.toFixed(2));
	}
	
	//6.删除商品模块
	//(1)商品后面的删除按钮
	$(".p-action a").click(function(){
		//this指代当前的商品
		$(this).parents(".cart-item").remove();
		getSum();
	});
	//(2)删除选中的商品
	//删除的是当前的小复选框选中的商品
	$(".remove-batch").click(function(){
		$(".j-checkbox:checked").parents(".cart-item").remove();
		getSum();
	});
	//(3)清空购物车 删除全部商品
	$(".clear-all").click(function(){
		$(".cart-item").remove();
		getSum();
	});
})